package thread;

/**
 * 线程的优先级
 * 线程有10个优先级,使用整数1-10表示
 * 其中1表示最小优先级,10表示最高优先级,5位默认值
 *
 * 但一个线程调用start方法后就纳入到了操作系统的线程调度其中被同一管理了,调度器会尽可能均匀分配时间片给
 * 给每个线程执行,线程不能主动索取时间片
 * 调整线程的优先级可以最大程度的干涉调度器分配时间片的概率
 * 优先级越高的而线程获取时间片的次数越多
 *
 */
public class PriorityDemo {
    public static void main(String[] args) {
        Thread min = new Thread(){
            public void run(){
                for(int i=0;i<10000;i++){
                    System.out.println("min");
                }
            }
        };
        Thread max = new Thread(){
            public void run(){
                for(int i=0;i<10000;i++){
                    System.out.println("max");
                }
            }
        };
        Thread norm = new Thread(()->{
            for(int i=0;i<1000;i++){
                System.out.println("nor");
            }
        });
        min.setPriority(Thread.MIN_PRIORITY);
        max.setPriority(Thread.MAX_PRIORITY);
        min.start();
        max.start();
        norm.start();








    }
}
